package com.zp.base.api;

/**
 * @program: zp-backstage
 * @ClassName RemoteSerialNumberUtils
 * @description:
 * @author: zhangpeng
 * @create: 2023-10-28 16:30
 * @Version 1.0
 **/
public interface RemoteSerialNumberUtils {

    /**
     * 获取药品入库单据号
     *
     * @param orgId
     * @param prefix
     * @return
     */
    String generateDrugImportNo(String orgId, String prefix);

    /**
     * 获取药品出库单据号
     *
     * @param orgId
     * @param prefix
     * @return
     */
    String generateDrugExportNo(String orgId, String prefix);

    /**
     * 获取门诊号
     *
     * @param orgId
     * @return
     */
    String generateClinicNo(String orgId);

    /**
     * 获取住院号
     *
     * @param orgId
     * @return
     */
    String generateHospitalNo(String orgId);

    /**
     * 获取检查号
     *
     * @param type  住院、门诊类型
     * @param orgId 机构id
     * @return 序号
     */
    String generateExamNo(String type, String orgId);

    /**
     * 获取检验号
     *
     * @param type  住院、门诊类型
     * @param orgId 机构id
     * @return 序号
     */
    String generateLabNo(String type, String orgId);

    /**
     * @ Author zhangpeng
     * @ Description 获取门诊诊疗项目号
     * @ Date 20:52 2024/3/21
     * @ Param * @param null
     * @ return
     **/
    String generateOutpTreatNo(String orgId);

    /**
     * 获取门诊号
     *
     * @param type  住院、门诊类型
     * @param orgId 机构id
     * @return 序号
     */
    String generatePrescriptionNo(String type, String orgId);

    /**
     * 获取门诊收费号
     *
     * @param orgId
     * @return
     */
    String generateOutpFeesNo(String orgId);

    /**
     * 药品盘点序号
     *
     * @param orgId
     * @return
     */
    String generateDrugInventoryNo(String orgId);

    /**
     * 预交金收款号
     *
     * @param orgId
     * @return
     */
    String generatePrepaymentNo(String orgId);
}
